package sz.szsmk.citizencard.mvp.contract;

import java.util.List;

import sz.szsmk.citizencard.gover.FunctionItem;
import sz.szsmk.citizencard.model.network.bean.response.CheckIsChargeRes;
import sz.szsmk.citizencard.model.network.bean.response.CloudFlashRes;
import sz.szsmk.citizencard.model.network.bean.response.SeleciUserAuthRes;
import sz.szsmk.citizencard.model.network.bean.response.SimpleRes;
import sz.szsmk.citizencard.model.network.dzbean.req.PreAuthThirdRes;
import sz.szsmk.citizencard.model.network.dzbean.res.CheckIsRealName2Res;
import sz.szsmk.citizencard.model.network.dzbean.res.CheckIsRealNameRes;
import sz.szsmk.citizencard.model.network.dzbean.res.GetOpenIdRes;
import sz.szsmk.citizencard.model.network.dzbean.res.QueryDzsmkAgreeMentRes;
import sz.szsmk.citizencard.ui.base.IBaseContact;

/**
 * Copyright (c)2018
 * author: zdh
 * created on: 2018/6/4 19:59
 * description:
 */
public interface ISearchAllContact {

    interface ISearchAllPresenter<T extends IBaseContact.IBaseView> extends IBaseContact.IBasePresenter {
        void getAll(String type, String keyWord, int currentPager);

        void checkSuccessOrderStatus(String access_token);

        void getOpenId();

        void checkIsOpenElecCard(String openid);

        void queryDzsmkAgreement(String id);

        void checkIsCharge();

        void selectUserAuth(final String type);
    }

    interface ISearchAllView extends IBaseContact.IBaseView {

        void getAllFail(SimpleRes response);

        void getAllSucc(List<SimpleRes.ResultBean> result);

        void checkSuccessOrderStatusSucc(String orderStatus);

        void checkSuccessOrderStatusFail(CloudFlashRes cloudFlashRes);

        void getOpenIdSucc(GetOpenIdRes response);

        void getOpenIdFail(GetOpenIdRes response);

        void checkIsOpenElecCardSuccess(CheckIsRealName2Res loginResponse);

        void checkIsOpenElecCardError(CheckIsRealName2Res preAuthRes);

        void preAuthThirdSucc(String id);

        void preAuthThirdFail(PreAuthThirdRes preAuthRes);

        void queryDzsmkAgreementFail(QueryDzsmkAgreeMentRes response);

        void checkIsChargeFail();

        void checkIsChargeSucc(CheckIsChargeRes ibaseBean);

        void selectUserAuthSucc(SeleciUserAuthRes response, String type);
    }

}
